📘 Modbus 协议课堂
RTU & TCP
⚡ 从入门到抓包分析 · 30 章完整体系
🎯 友好色系 · 专业硬核
01
Modbus协议概述
起源
发展历史 · 应用领域 · 协议栈结构
02
物理层与电气特性
RS-485
RS-232/485/422 · 两线/四线 · 终端电阻
03
Modbus RTU帧结构
CRC
地址码·功能码·数据区·3.5字符间隔
04
Modbus ASCII模式
LRC
与RTU区别 · LRC校验 · 起始/结束符
05
Modbus TCP协议
MBAP
与RTU异同 · 报文头 · 无校验原因
06
功能码详解(一)
01-04
读线圈/离散输入/保持/输入寄存器
07
功能码详解(二)
05 06 15 16
写单个/多个线圈/寄存器
08
功能码详解(三)
特殊码
07诊断·08·11·12 读事件
09
Modbus异常响应
异常码
01-08异常码 · 帧结构 · 场景分析
10
CRC校验原理与实现
0x8005
查表法/直接法 · C/Python代码
11
LRC校验原理与实现
ASCII
纵向冗余 · 代码实现
12
寄存器地址映射
PLC寻址
线圈/离散/输入/保持寄存器规划
13
主站与从站
轮询
单主多从拓扑 · 地址分配
14
TCP客户端与服务器
端口502
长/短连接 · 多客户端并发
15
网关与协议转换
RTU↔TCP
透明传输 · 寻址模式
16
Wireshark抓包基础
过滤器
安装·捕获/显示过滤器·解析器
17
Modbus RTU抓包实战
串口
帧结构·时间间隔·CRC分析
18
Modbus TCP抓包实战
模拟器
MBAP头·功能码·数据域
19
异常报文抓包分析
异常码
构造异常请求·响应对应关系
20
广播与多从站抓包
0x00
广播地址·多从站时序
21
报文重放与测试
Scapy
自定义报文·压力测试
22
Python实现RTU主站
pymodbus
串口通信·读写寄存器·异常处理
23
Python实现TCP客户端
pymodbus
连接管理·批量读写
24
从站模拟器
虚拟从站
自定义寄存器映射·响应逻辑
25
Modbus性能优化
波特率
报文间隔·批量vs单点·超时策略
26
安全性分析
无认证
中间人攻击·TLS隧道·白名单
27
SCADA系统应用
PLC/DCS
数据采集·监控架构·配置案例
28
物联网IoT应用
MQTT
Modbus over MQTT · 边缘网关
29
调试工具
ModScan
ModSim·Modbus Poll·串口监视
30
综合实战
全流程
设备选型·接线·配置·抓包分析